System.register(['aurelia-path'], function (_export) {
'use strict';
var relativeToFile, ResourceRegistry, ViewResources;
function _inherits(subClass, superClass) { Iif (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); Eif (superClass) subClass.__proto__ = superClass; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
function register(lookup, name, resource, type) {
if (!name) {
return;
}
var existing = lookup[name];
if (existing) {
if (existing != resource) {
throw new Error('Attempted to register ' + type + ' when one with the same name already exists. Name: ' + name + '.');
}
return;
}
lookup[name] = resource;
}
return {
setters: [function (_aureliaPath) {
relativeToFile = _aureliaPath.relativeToFile;
}],
execute: function () {
ResourceRegistry = (function () {
function ResourceRegistry() {
_classCallCheck(this, ResourceRegistry);
this.attributes = {};
this.elements = {};
this.valueConverters = {};
this.attributeMap = {};
this.baseResourceUrl = '';
}
ResourceRegistry.prototype.registerElement = function registerElement(tagName, behavior) {
register(this.elements, tagName, behavior, 'an Element');
};
ResourceRegistry.prototype.getElement = function getElement(tagName) {
return this.elements[tagName];
};
ResourceRegistry.prototype.registerAttribute = function registerAttribute(attribute, behavior, knownAttribute) {
this.attributeMap[attribute] = knownAttribute;
register(this.attributes, attribute, behavior, 'an Attribute');
};
ResourceRegistry.prototype.getAttribute = function getAttribute(attribute) {
return this.attributes[attribute];
};
ResourceRegistry.prototype.registerValueConverter = function registerValueConverter(name, valueConverter) {
register(this.valueConverters, name, valueConverter, 'a ValueConverter');
};
ResourceRegistry.prototype.getValueConverter = function getValueConverter(name) {
return this.valueConverters[name];
};
return ResourceRegistry;
})();
_export('ResourceRegistry', ResourceRegistry);
ViewResources = (function (_ResourceRegistry) {
function ViewResources(parent, viewUrl) {
_classCallCheck(this, ViewResources);
_ResourceRegistry.call(this);
this.parent = parent;
this.viewUrl = viewUrl;
this.valueConverterLookupFunction = this.getValueConverter.bind(this);
}
_inherits(ViewResources, _ResourceRegistry);
ViewResources.prototype.relativeToView = function relativeToView(path) {
return relativeToFile(path, this.viewUrl);
};
ViewResources.prototype.getElement = function getElement(tagName) {
return this.elements[tagName] || this.parent.getElement(tagName);
};
ViewResources.prototype.mapAttribute = function mapAttribute(attribute) {
return this.attributeMap[attribute] || this.parent.attributeMap[attribute];
};
ViewResources.prototype.getAttribute = function getAttribute(attribute) {
return this.attributes[attribute] || this.parent.getAttribute(attribute);
};
ViewResources.prototype.getValueConverter = function getValueConverter(name) {
return this.valueConverters[name] || this.parent.getValueConverter(name);
};
return ViewResources;
})(ResourceRegistry);
_export('ViewResources', ViewResources);
}
};
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9FaXNlbmJlcmdFZmZlY3QvRG9jdW1lbnRzL0dpdEh1Yi9UaGUgRHVyYW5kYWwgUHJvamVjdC9hdXJlbGlhL3RlbXBsYXRpbmcvc3JjL3Jlc291cmNlLXJlZ2lzdHJ5LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztzQkFtQmEsZ0JBQWdCLEVBbUNoQixhQUFhOzs7Ozs7QUFwRDFCLFdBQVMsUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBQztBQUM3QyxRQUFHLENBQUMsSUFBSSxFQUFDO0FBQ1AsYUFBTztLQUNSOztBQUVELFFBQUksUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUM1QixRQUFHLFFBQVEsRUFBQztBQUNWLFVBQUcsUUFBUSxJQUFJLFFBQVEsRUFBRTtBQUN2QixjQUFNLElBQUksS0FBSyw0QkFBMEIsSUFBSSwyREFBc0QsSUFBSSxPQUFJLENBQUM7T0FDN0c7O0FBRUQsYUFBTztLQUNSOztBQUVELFVBQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUM7R0FDekI7Ozs7b0NBakJPLGNBQWM7OztBQW1CVCxzQkFBZ0I7QUFDaEIsaUJBREEsZ0JBQWdCLEdBQ2Q7Z0NBREYsZ0JBQWdCOztBQUV6QixjQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztBQUNyQixjQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztBQUNuQixjQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztBQUMxQixjQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztBQUN2QixjQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztTQUMzQjs7QUFQVSx3QkFBZ0IsV0FTM0IsZUFBZSxHQUFBLHlCQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUM7QUFDaEMsa0JBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxDQUFDLENBQUM7U0FDMUQ7O0FBWFUsd0JBQWdCLFdBYTNCLFVBQVUsR0FBQSxvQkFBQyxPQUFPLEVBQUM7QUFDakIsaUJBQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMvQjs7QUFmVSx3QkFBZ0IsV0FpQjNCLGlCQUFpQixHQUFBLDJCQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFDO0FBQ3BELGNBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsY0FBYyxDQUFDO0FBQzlDLGtCQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1NBQ2hFOztBQXBCVSx3QkFBZ0IsV0FzQjNCLFlBQVksR0FBQSxzQkFBQyxTQUFTLEVBQUM7QUFDckIsaUJBQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNuQzs7QUF4QlUsd0JBQWdCLFdBMEIzQixzQkFBc0IsR0FBQSxnQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFDO0FBQzFDLGtCQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixDQUFDLENBQUM7U0FDMUU7O0FBNUJVLHdCQUFnQixXQThCM0IsaUJBQWlCLEdBQUEsMkJBQUMsSUFBSSxFQUFDO0FBQ3JCLGlCQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbkM7O2VBaENVLGdCQUFnQjs7O2tDQUFoQixnQkFBZ0I7O0FBbUNoQixtQkFBYTtBQUNiLGlCQURBLGFBQWEsQ0FDWixNQUFNLEVBQUUsT0FBTyxFQUFDO2dDQURqQixhQUFhOztBQUV0QixzQ0FBTyxDQUFDO0FBQ1IsY0FBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7QUFDckIsY0FBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7QUFDdkIsY0FBSSxDQUFDLDRCQUE0QixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdkU7O2tCQU5VLGFBQWE7O0FBQWIscUJBQWEsV0FReEIsY0FBYyxHQUFBLHdCQUFDLElBQUksRUFBQztBQUNsQixpQkFBTyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMzQzs7QUFWVSxxQkFBYSxXQVl4QixVQUFVLEdBQUEsb0JBQUMsT0FBTyxFQUFDO0FBQ2pCLGlCQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDbEU7O0FBZFUscUJBQWEsV0FnQnhCLFlBQVksR0FBQSxzQkFBQyxTQUFTLEVBQUM7QUFDckIsaUJBQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUM1RTs7QUFsQlUscUJBQWEsV0FvQnhCLFlBQVksR0FBQSxzQkFBQyxTQUFTLEVBQUM7QUFDckIsaUJBQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUMxRTs7QUF0QlUscUJBQWEsV0F3QnhCLGlCQUFpQixHQUFBLDJCQUFDLElBQUksRUFBQztBQUNyQixpQkFBTyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDM0U7O2VBMUJVLGFBQWE7U0FBUyxnQkFBZ0I7OytCQUF0QyxhQUFhIiwiZmlsZSI6Ii9Vc2Vycy9FaXNlbmJlcmdFZmZlY3QvRG9jdW1lbnRzL0dpdEh1Yi9UaGUgRHVyYW5kYWwgUHJvamVjdC9hdXJlbGlhL3RlbXBsYXRpbmcvc3JjL3Jlc291cmNlLXJlZ2lzdHJ5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtyZWxhdGl2ZVRvRmlsZX0gZnJvbSAnYXVyZWxpYS1wYXRoJztcblxuZnVuY3Rpb24gcmVnaXN0ZXIobG9va3VwLCBuYW1lLCByZXNvdXJjZSwgdHlwZSl7XG4gIGlmKCFuYW1lKXtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgZXhpc3RpbmcgPSBsb29rdXBbbmFtZV07XG4gIGlmKGV4aXN0aW5nKXtcbiAgICBpZihleGlzdGluZyAhPSByZXNvdXJjZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBBdHRlbXB0ZWQgdG8gcmVnaXN0ZXIgJHt0eXBlfSB3aGVuIG9uZSB3aXRoIHRoZSBzYW1lIG5hbWUgYWxyZWFkeSBleGlzdHMuIE5hbWU6ICR7bmFtZX0uYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgbG9va3VwW25hbWVdID0gcmVzb3VyY2U7XG59XG5cbmV4cG9ydCBjbGFzcyBSZXNvdXJjZVJlZ2lzdHJ5IHtcbiAgY29uc3RydWN0b3IoKXtcbiAgICB0aGlzLmF0dHJpYnV0ZXMgPSB7fTtcbiAgICB0aGlzLmVsZW1lbnRzID0ge307XG4gICAgdGhpcy52YWx1ZUNvbnZlcnRlcnMgPSB7fTtcbiAgICB0aGlzLmF0dHJpYnV0ZU1hcCA9IHt9O1xuICAgIHRoaXMuYmFzZVJlc291cmNlVXJsID0gJyc7XG4gIH1cblxuICByZWdpc3RlckVsZW1lbnQodGFnTmFtZSwgYmVoYXZpb3Ipe1xuICAgIHJlZ2lzdGVyKHRoaXMuZWxlbWVudHMsIHRhZ05hbWUsIGJlaGF2aW9yLCAnYW4gRWxlbWVudCcpO1xuICB9XG5cbiAgZ2V0RWxlbWVudCh0YWdOYW1lKXtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50c1t0YWdOYW1lXTtcbiAgfVxuXG4gIHJlZ2lzdGVyQXR0cmlidXRlKGF0dHJpYnV0ZSwgYmVoYXZpb3IsIGtub3duQXR0cmlidXRlKXtcbiAgICB0aGlzLmF0dHJpYnV0ZU1hcFthdHRyaWJ1dGVdID0ga25vd25BdHRyaWJ1dGU7XG4gICAgcmVnaXN0ZXIodGhpcy5hdHRyaWJ1dGVzLCBhdHRyaWJ1dGUsIGJlaGF2aW9yLCAnYW4gQXR0cmlidXRlJyk7XG4gIH1cblxuICBnZXRBdHRyaWJ1dGUoYXR0cmlidXRlKXtcbiAgICByZXR1cm4gdGhpcy5hdHRyaWJ1dGVzW2F0dHJpYnV0ZV07XG4gIH1cblxuICByZWdpc3RlclZhbHVlQ29udmVydGVyKG5hbWUsIHZhbHVlQ29udmVydGVyKXtcbiAgICByZWdpc3Rlcih0aGlzLnZhbHVlQ29udmVydGVycywgbmFtZSwgdmFsdWVDb252ZXJ0ZXIsICdhIFZhbHVlQ29udmVydGVyJyk7XG4gIH1cblxuICBnZXRWYWx1ZUNvbnZlcnRlcihuYW1lKXtcbiAgICByZXR1cm4gdGhpcy52YWx1ZUNvbnZlcnRlcnNbbmFtZV07XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFZpZXdSZXNvdXJjZXMgZXh0ZW5kcyBSZXNvdXJjZVJlZ2lzdHJ5IHtcbiAgY29uc3RydWN0b3IocGFyZW50LCB2aWV3VXJsKXtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMucGFyZW50ID0gcGFyZW50O1xuICAgIHRoaXMudmlld1VybCA9IHZpZXdVcmw7XG4gICAgdGhpcy52YWx1ZUNvbnZlcnRlckxvb2t1cEZ1bmN0aW9uID0gdGhpcy5nZXRWYWx1ZUNvbnZlcnRlci5iaW5kKHRoaXMpO1xuICB9XG5cbiAgcmVsYXRpdmVUb1ZpZXcocGF0aCl7XG4gICAgcmV0dXJuIHJlbGF0aXZlVG9GaWxlKHBhdGgsIHRoaXMudmlld1VybCk7XG4gIH1cblxuICBnZXRFbGVtZW50KHRhZ05hbWUpe1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRzW3RhZ05hbWVdIHx8IHRoaXMucGFyZW50LmdldEVsZW1lbnQodGFnTmFtZSk7XG4gIH1cblxuICBtYXBBdHRyaWJ1dGUoYXR0cmlidXRlKXtcbiAgICByZXR1cm4gdGhpcy5hdHRyaWJ1dGVNYXBbYXR0cmlidXRlXSB8fCB0aGlzLnBhcmVudC5hdHRyaWJ1dGVNYXBbYXR0cmlidXRlXTtcbiAgfVxuXG4gIGdldEF0dHJpYnV0ZShhdHRyaWJ1dGUpe1xuICAgIHJldHVybiB0aGlzLmF0dHJpYnV0ZXNbYXR0cmlidXRlXSB8fCB0aGlzLnBhcmVudC5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKTtcbiAgfVxuXG4gIGdldFZhbHVlQ29udmVydGVyKG5hbWUpe1xuICAgIHJldHVybiB0aGlzLnZhbHVlQ29udmVydGVyc1tuYW1lXSB8fCAgdGhpcy5wYXJlbnQuZ2V0VmFsdWVDb252ZXJ0ZXIobmFtZSk7XG4gIH1cbn1cbiJdfQ== |